home *** CD-ROM | disk | FTP | other *** search
/ Apple Reference & Presen…rary 8 (Internal Edition) / Apple R&P Lib Internal v8.0.iso / 5-Fonts & Software / Applications / Aldus FreeHand 3.0 / Aldus / Aldus Prep < prev    next >
Text File  |  1990-05-16  |  35KB  |  1,655 lines

  1. % 209    55            AldusVersion/AldRevision:  This record must be first!!
  2. % Copyright (C) 1987 Aldus Corporation. All rights reserved.
  3.  
  4. /AldusDict2 325 dict def    
  5. AldusDict2
  6. begin                                                    
  7. /AldusVersion         209     def        
  8. /AldusRev            55        def        
  9. /bdef { bind def } bind def
  10. systemdict /currentpacking known
  11. {/AD_OldPacking currentpacking def
  12. true setpacking
  13. } if
  14. /AD_PrevMatrix         matrix     def        
  15. /AD_SomethingOnPage    false    def        
  16. /AD_OutlineWidth    30        def        
  17. /AD_ShadOffset        0.06    def     
  18. /AD_OLShadOffset    0.06    def     
  19. /AD_OLSmearFact        0.03    def     
  20. /AD_BoldSmearFact    0.03    def     
  21. /AD_ObliqueAngle    -0.21    def     
  22. /AD_TrueSetscreen /setscreen load def 
  23. /AD_NestedMirror false def        
  24. /AD_TextCutout false def    
  25. /BEGJOB                                             
  26. {    /AD_Invert        exch def
  27. dup AD_NestedMirror xor /AD_NestedMirror exch def
  28. /AD_MirrorFlag    exch def
  29. /AD_WideFlag    exch def
  30. /paperwid        exch def
  31. /paperht         exch def
  32. /AD_Resolution    1440 def
  33. /AD_PointsToUCS    AD_Resolution 72 div def
  34. AD_PrevMatrix currentmatrix pop
  35. /AD_PrevScreen [currentscreen] def
  36. /AD_PrevTransfer currenttransfer def
  37. /AD_StdScreen true def
  38. /STD_SCREEN
  39. {
  40. AD_StdScreen not
  41. {
  42. AD_PrevScreen cvx exec setscreen
  43. /AD_PrevTransfer load settransfer
  44. /AD_StdScreen true assign
  45. }if
  46. } def
  47. true _SetCoordSys
  48. version (23.) anchorsearch 
  49. {
  50. pop pop
  51. /truesetgray /setgray load def
  52. /setgray
  53. {
  54. mark
  55. AD_Invert
  56. {.0 .0 .06 .1 .28 .48 .56 .68 .82 .9 .98 1.0 }
  57. {1.0 1.0 .98 .9 .82 .68 .56 .48 .28 .1 .06 .0 }
  58. ifelse
  59. counttomark dup 3 add -1 roll exch
  60. 2 sub mul dup floor cvi
  61. dup 3 1 roll sub
  62. exch dup 
  63. 3 add index exch 2 add index dup
  64. 4 1 roll
  65. sub mul add
  66. counttomark 1 add 1 roll 
  67. cleartomark
  68. truesetgray
  69. } def
  70. }
  71. { pop }
  72. ifelse
  73. /screenAdjust 1 0 dtransform exch atan def
  74. /mirrorScreen AD_NestedMirror {/neg load} {{}} ifelse def
  75. /setscreen {exch screenAdjust add mirrorScreen exch AD_TrueSetscreen} def
  76. } def            
  77. /_SetCoordSys
  78. {
  79. /AD_OldSys exch def
  80. AD_WideFlag
  81. {    AD_OldSys
  82. {
  83. 90 rotate 
  84. 1 AD_PointsToUCS div dup neg scale
  85. }
  86. {
  87. 1 AD_PointsToUCS div dup neg scale
  88. paperht paperwid neg translate
  89. 90 rotate
  90. }
  91. ifelse
  92. }
  93. { 1 AD_PointsToUCS div dup neg scale
  94. 0 paperht neg translate
  95. ifelse
  96. AD_MirrorFlag
  97. { paperwid 0 translate
  98. -1 1 scale
  99. if
  100. /AD_DeviceScale
  101. 1 1 transform pop 0 0 transform pop sub abs 
  102. def
  103. } bdef
  104. /SETRES                                             
  105. {
  106. /AD_Resolution    exch def
  107. /AD_PointsToUCS    AD_Resolution 72 div def
  108. AD_PrevMatrix setmatrix
  109. false _SetCoordSys
  110. _DefinePatterns    
  111. } bdef            
  112. /SETOVERPRINT
  113. {
  114. setoverprint
  115. } bdef
  116. /SETTEXTCUTOUT
  117. {
  118. /AD_TextCutout exch def
  119. }    bdef
  120. /BEGPAGE                                             
  121. {    /AD_SomethingOnPage    false def
  122. }     bdef            
  123. /ENDPAGE                                             
  124. {    AD_SomethingOnPage 
  125. { save
  126. showpage 
  127. restore 
  128. } if
  129. }     def 
  130. /MUST_PRINT_PAGE
  131. {    /AD_SomethingOnPage    true def
  132. } bdef
  133. /ENDJOB                                             
  134. {    AD_PrevMatrix setmatrix
  135. }     bdef                                            
  136. /S_PSCRIPT                                            
  137. {    /AD_SomethingOnPage    true def
  138. }     bdef                                            
  139. /S_TEXTSEGBEG                                            
  140. {    /here save def
  141. /TX_RunDrawn false def
  142. newpath
  143. }     bdef                                            
  144. /S_TEXTSEGEND                                            
  145. {    TX_RunDrawn
  146. { here restore
  147. /AD_SomethingOnPage true def }
  148. { here restore } ifelse
  149. }     bdef                                            
  150. /S_WORKING
  151. {
  152. /AD_WorkingMemory exch def
  153. } bdef
  154. /S_LOADFONT
  155. {
  156. AldusDict2 /AD_TopOfFonts known exch
  157. { { AD_TopOfFonts restore } if }
  158. { not { save /AD_TopOfFonts exch def } if    }
  159. ifelse
  160. } bdef
  161. /SURSTR
  162. {
  163. AD_SomethingOnPage SUsv restore
  164. } bdef
  165. /SUSAVE
  166. {
  167. AldusDict2 /AD_TopOfFonts known 
  168. vmstatus exch sub exch pop AD_WorkingMemory lt 
  169. { dup { AD_TopOfFonts restore } if } if
  170. not                    
  171. { save /AD_TopOfFonts exch def } if    
  172. save /SUsv exch def /AD_SomethingOnPage exch def
  173. } bdef
  174. /_ftName 66 string def
  175. /_AutoRecode
  176. {    
  177. /recode exch def
  178. _ftName cvs
  179. dup length 7 gt
  180. {    dup 0 7 getinterval (|______) eq
  181. {    dup length 7 exch 7 sub getinterval 
  182. recode { FTRECODE } { FTRENAME } ifelse
  183. }
  184. { pop }
  185. ifelse
  186. }
  187. { pop } ifelse
  188. } bdef
  189. /SYM_SAV
  190. {
  191. save /SYMsv exch def    
  192. } bdef
  193. /SYM_RSTR
  194. {
  195. AD_SomethingOnPage
  196. SYMsv restore
  197. /AD_SomethingOnPage exch def
  198. } bdef
  199. /AD_save_xform    null def
  200. /SET_TX_XFORM
  201. {
  202. /m_x exch def        
  203. /r_angle exch def    
  204. /ref_y exch def
  205. /ref_x exch def        
  206. /AD_save_xform    save def
  207. ref_x ref_y translate    
  208. m_x
  209. {
  210. -1 1 scale
  211. } if
  212. r_angle neg rotate            
  213. ref_x neg ref_y neg translate    
  214. } bind def
  215. /CLEAR_TX_XFORM
  216. {
  217. AD_SomethingOnPage AD_save_xform restore
  218. /AD_SomethingOnPage exch def
  219. } bind def
  220. /SHADOWFLAG        16#1  def            
  221. /OUTLINEFLAG    16#2  def             
  222. /BOLDSMEAR        16#4  def             
  223. /OUTLINESMEAR    16#8  def             
  224. /ReENCODED        16#10 def            
  225. /BOLDPSBUMP        16#20 def            
  226. /ITALICOBLIQUE    16#40 def            
  227. /SET            
  228. {    
  229. count 5 eq not{6 array astore}if
  230. /AD_textcolor    exch def    
  231. /AD_fontbits    exch def    
  232. /AD_20EMS        exch def    
  233. 1 index FontDirectory exch known not 
  234. { 1 index ReENCODED AD_fontbits _iand _AutoRecode } if 
  235. BOLDPSBUMP AD_fontbits _iand
  236. {    1 add } if
  237. dup _ActivateFont
  238. ITALICOBLIQUE AD_fontbits _iand
  239. {     _ActivateObliqueFont 
  240. } if
  241. /AD_width_factor_internal AD_width_factor def
  242. AD_width_factor 1 ne                    
  243. {
  244. currentfont [AD_width_factor 0 0 1 0 0] makefont setfont
  245. } if
  246. /AD_EmNotMatch AD_20EMS 20 div (M) _ADStringWidth pop sub abs 1 gt def
  247. false SETTEXTCUTOUT
  248. }     bdef                                            
  249. /S_SETUPRUN /SET load def        
  250. /OUT                
  251. {    /here save def
  252. /runwidth        exch def
  253. /nspaces        exch def
  254. /nchars            exch def
  255. /textrun        exch def
  256. /letterspace    exch def    
  257. /wordspace        exch def
  258. /y1 exch def    /x1 exch def
  259. nchars 0 gt
  260. {    
  261. AD_textcolor dup _Gray?
  262. {setgray}
  263. {aload pop 
  264. {PREGISCOLOR}{PCOLOR}ifelse
  265. } ifelse
  266. /letterspace
  267. AD_EmNotMatch
  268. {    
  269. runwidth                    
  270. textrun _ADStringWidth pop 
  271. nchars dup 1 gt {1 sub} if
  272. letterspace mul add        
  273. nspaces wordspace mul add    
  274. sub                        
  275. nchars dup 1 gt {1 sub} if
  276. div                        
  277. }
  278. {    
  279. 0 } ifelse                     
  280. letterspace add def                
  281. SHADOWFLAG AD_fontbits _iand
  282. {    save
  283. OUTLINEFLAG AD_fontbits _iand
  284. {    _OLShadowOffset
  285. }
  286. {    
  287. AD_textcolor _Gray?{_ShadowScreen}if
  288. AD_textcolor _ShadowColor
  289. _ShadowOffset
  290. } ifelse 
  291. OUTLINEFLAG AD_fontbits _iand
  292. OUTLINESMEAR AD_fontbits _iand not and 
  293. {    _ActivateSolidFont
  294. _SetTextWidth
  295. } if 
  296. AD_TextCutout
  297. {1 setgray} if
  298. _ShowRun
  299. BOLDSMEAR AD_fontbits _iand
  300. {    _BoldSmearOffset _ShowRun
  301. } if 
  302. restore
  303. } if 
  304. OUTLINEFLAG AD_fontbits _iand 
  305. OUTLINESMEAR AD_fontbits _iand and
  306. {    _OLSmearRun
  307. }
  308. {    OUTLINEFLAG AD_fontbits _iand
  309. {    save
  310. _ActivateSolidFont
  311. _SetTextWidth
  312. AD_textcolor _Gray? AD_textcolor _White? or
  313. { AD_textcolor _White?
  314. {0}
  315. {_TextFillColor}
  316. ifelse 
  317. setgray }
  318. { 1 setgray 
  319. }ifelse
  320. _ShowRun
  321. restore
  322. } if 
  323. _ShowRun
  324. BOLDSMEAR AD_fontbits _iand
  325. {    _BoldSmearOffset _ShowRun
  326. } if 
  327. } ifelse 
  328. } if 
  329. here restore
  330. /AD_SomethingOnPage true def
  331. }     bdef                                            
  332. /S_OUTPUTRUN /OUT load def        
  333. /_ADStringWidth                                        
  334. {
  335. gsave closepath clip stringwidth grestore    
  336. }     bdef
  337. /_OLSmearRun                                        
  338. {    
  339. gsave _OLSmearOffset translate _ShowRun grestore            
  340. gsave _OLSmearOffset exch neg exch translate _ShowRun grestore            
  341. gsave _OLSmearOffset neg translate _ShowRun grestore                                         
  342. gsave _OLSmearOffset neg exch neg exch translate _ShowRun grestore    
  343. gsave 
  344. AD_textcolor _Gray? AD_textcolor _White? or
  345. { AD_textcolor _White?
  346. {0}
  347. { _TextFillColor}
  348. ifelse
  349. setgray }
  350. { 1 setgray 
  351. }ifelse
  352. _ShowRun grestore
  353. }     bdef
  354. /_TextFillColor
  355. {
  356. AD_TextCutout
  357. {1}
  358. {1 AD_textcolor sub} ifelse
  359. } bdef 
  360. /_ShowRun                                        
  361. {    
  362. x1 y1 moveto 
  363. wordspace 0 8#040 letterspace 0 textrun awidthshow
  364. }     bdef
  365. /AD_width_factor_internal        1 def            
  366. /_SetTextWidth
  367. {
  368. AD_width_factor_internal 1 ne                    
  369. {
  370. currentfont [AD_width_factor_internal 0 0 1 0 0] makefont setfont
  371. } if
  372. } bdef
  373. /AD_save_textwidth    null def        
  374. /SET_TEXT_WIDTH
  375. {
  376. /AD_width_factor_internal exch def    
  377. /AD_save_textwidth    save def
  378. _SetTextWidth                                                        
  379. } bdef
  380. /RESTORE_TEXT_WIDTH
  381. {
  382. AD_SomethingOnPage AD_save_textwidth restore
  383. /AD_SomethingOnPage exch def
  384. /AD_width_factor_internal 1 def
  385. } bdef
  386. /AD_width_factor        1    def
  387. /SET_TX_WIDTH
  388. {
  389. /AD_width_factor    exch def
  390. } bdef
  391. /CLEAR_TX_WIDTH
  392. {
  393. /AD_width_factor 1    def
  394. } bdef
  395. /S_UNDERLINE                                        
  396. {    /here save def
  397. count 7 eq not{6 array astore}if
  398. /color            exch def
  399. /pointsize        exch def
  400. /width            exch def
  401. /deltay            exch def
  402. /baseline        exch def
  403. /rightx            exch def
  404. /leftx            exch def
  405. currentfont /FontInfo known
  406. {    
  407. currentfont /FontInfo get
  408. /UnderlinePosition known
  409. {    /deltay 
  410. currentfont /FontInfo get 
  411. /UnderlinePosition get 
  412. currentfont /FontMatrix get 3 get mul 
  413. pointsize AD_fontscale AD_PointsToUCS 
  414. div div mul def
  415. } if 
  416. currentfont /FontInfo get
  417. /UnderlineThickness known
  418. {    /width
  419. currentfont /FontInfo get
  420. /UnderlineThickness get 
  421. currentfont /FontMatrix get 3 get abs mul 
  422. pointsize AD_fontscale AD_PointsToUCS 
  423. div div mul def
  424. } if 
  425. } if 
  426. /underliney 
  427. 0 baseline deltay add transform 
  428. round exch round exch itransform exch pop def
  429. color dup _Gray?
  430. {setgray}{aload pop 
  431. {PREGISCOLOR}{PCOLOR}ifelse
  432. }ifelse
  433. width setlinewidth
  434. SHADOWFLAG AD_fontbits _iand
  435. {    save
  436. OUTLINEFLAG AD_fontbits _iand 
  437. {    _OLShadowOffset
  438. }
  439. {    
  440. color _Gray?{_ShadowScreen}if
  441. color _ShadowColor
  442. _ShadowOffset
  443. } ifelse 
  444. leftx underliney rightx underliney _ShowUnderline                                 
  445. restore
  446. } if 
  447. leftx underliney rightx underliney _ShowUnderline
  448. OUTLINEFLAG AD_fontbits _iand
  449. OUTLINESMEAR AD_fontbits _iand not and 
  450. {    
  451. save
  452. color _Gray?{1 color sub setgray}
  453. {0 0 0 0 setcmykcolor 
  454. }ifelse
  455. /AD_OutlineWidth
  456. AD_OutlineWidth 1000 div AD_fontscale mul def
  457. width 3 AD_OutlineWidth mul ge
  458. { width 2 AD_OutlineWidth mul sub }
  459. { width 3 div } ifelse
  460. setlinewidth
  461. leftx AD_OutlineWidth add underliney
  462. rightx AD_OutlineWidth sub underliney _ShowUnderline
  463. restore
  464. } if 
  465. here restore
  466. /AD_SomethingOnPage true def
  467. }     bdef
  468. /_ShowUnderline                                        
  469. {
  470. newpath moveto lineto stroke    
  471. }     bdef
  472. /S_STRIKETHRU                                            
  473. {    /here save def
  474. count 4 eq not{6 array astore}if
  475. /color            exch def
  476. /y                exch def
  477. /rightx            exch def
  478. /leftx            exch def
  479. /y    0 y transform 
  480. round exch round exch itransform exch pop def
  481. color _Gray?
  482. {color setgray}{color aload pop 
  483. {PREGISCOLOR}{PCOLOR}ifelse
  484. }ifelse
  485. _StrikeThruWidth setlinewidth
  486. newpath
  487. leftx  y moveto
  488. rightx y lineto stroke
  489. here restore
  490. /AD_SomethingOnPage true def
  491. }     bdef                                            
  492. /DV_DRAW_TEXT                                            
  493. {    /here save def
  494. /text    exch def
  495. /y         exch def    
  496. /x         exch def
  497. Black setgray
  498. (Helvetica-Bold) FTRECODE
  499. /|______Helvetica-Bold 9 dup _ActivateFont 
  500. x y moveto
  501. text show                    
  502. here restore
  503. /AD_SomethingOnPage    true def
  504. }     bdef                                            
  505. /DV_DRAW_BOX                                            
  506. {    /here save def
  507. /draftflag exch def
  508. /shadowflag exch def
  509. /y2 exch def    /x2 exch def
  510. /y1 exch def    /x1 exch def
  511. AD_PointsToUCS 2 div setlinewidth
  512. newpath
  513. x1 y1 moveto
  514. x1 y2 lineto
  515. x2 y2 lineto
  516. x2 y1 lineto closepath 
  517. shadowflag
  518. { gsave STD_SCREEN 0.5 setgray fill grestore}
  519. { gsave
  520. 1.0 setgray fill
  521. grestore 
  522. 0.0 setgray stroke } ifelse
  523. draftflag
  524. { x1 y1 moveto
  525. x2 y2 lineto stroke
  526. x2 y1 moveto
  527. x1 y2 lineto stroke } if
  528. here restore
  529. /AD_SomethingOnPage    true def
  530. }     bdef
  531. /DV_DRAW_LINE                                            
  532. {    /here save def
  533. /lw exch def
  534. /y2 exch def    /x2 exch def
  535. /y1 exch def    /x1 exch def
  536. x1 y1 transform 
  537. round exch round exch itransform /y1 exch def /x1 exch def
  538. x2 y2 transform 
  539. round exch round exch itransform /y2 exch def /x2 exch def
  540. 0 lw transform 
  541. round exch round exch itransform /lw exch def pop
  542. lw setlinewidth
  543. 0 setseparationgray
  544. newpath
  545. x1 y1 moveto
  546. x2 y2 lineto stroke
  547. here restore
  548. /AD_SomethingOnPage    true def
  549. }     def 
  550. /DV_DRAW_CIRCLE                                            
  551. {    /here save def
  552. /lw exch def
  553. /r    exch def
  554. /y    exch def        /x exch def
  555. x y transform 
  556. round exch round exch itransform /y exch def /x exch def
  557. 0 r transform 
  558. round exch round exch itransform /r exch def pop
  559. 0 lw transform 
  560. round exch round exch itransform /lw exch def pop
  561. lw setlinewidth
  562. Black setgray
  563. newpath
  564. x y r 0 360 arc stroke
  565. here restore
  566. /AD_SomethingOnPage    true def
  567. }     bdef                                            
  568. /_ActivateFont                                        
  569. {    
  570. /AD_fontscale     exch AD_PointsToUCS mul def
  571. /AD_fontscaleX    exch AD_PointsToUCS mul def
  572. /AD_fontname     exch def
  573. AD_fontname findfont
  574. [ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] makefont
  575. setfont    
  576. }     bdef
  577. /_ActivateObliqueFont                                        
  578. {    
  579. AD_fontname findfont
  580. [ AD_fontscaleX 0 0 AD_fontscale neg 0 0 ] 
  581. [ 1 0 
  582. AD_ObliqueAngle 
  583. 1 0 0 ] matrix concatmatrix makefont setfont    
  584. }     bdef
  585. /_ActivateSolidFont                                        
  586. {    
  587. AD_solidfont 
  588. AD_fontscaleX AD_PointsToUCS div 
  589. AD_fontscale AD_PointsToUCS div _ActivateFont
  590. }     bdef
  591. /_ShadowOffset                                        
  592. {    
  593. AD_ShadOffset AD_fontscaleX mul AD_ShadOffset AD_fontscale mul translate    
  594. }     bdef
  595. /_OLShadowOffset                                        
  596. {    
  597. AD_OLShadOffset AD_fontscaleX mul AD_OLShadOffset AD_fontscale mul translate    
  598. }     bdef
  599. /_ShadowScreen                                        
  600. {    
  601. 100 AD_PrevScreen 1 get AD_PrevScreen 2 get setscreen
  602. }     bdef    
  603. /_ShadowColor                                        
  604. {    
  605. dup _Gray? exch dup _White? 3 -1 roll or
  606. { dup _White?
  607. {pop 1
  608. }if 
  609. 0.6 mul 0.8 exch sub setgray}
  610. {_ShadeColor
  611. }ifelse
  612. }     bdef
  613. /_ShadeColor
  614. {    
  615. /AldusTint .2 def 
  616. aload pop {PREGISCOLOR}{PCOLOR}ifelse
  617. /AldusTint 1 def
  618. }    bdef
  619. /_Gray?
  620. dup type 0 type eq exch type 0.0 type eq or
  621. } bdef
  622. /_White?
  623. {     
  624. dup type [] type eq
  625. {aload pop pop pop add add add 0 eq
  626. {true}{false
  627. }ifelse
  628. }{pop false
  629. }ifelse
  630. } bdef
  631. /PCOLOR
  632. {
  633. findcmykcustomcolor    
  634. AD_NonSepPat 
  635. {1 currentgray sub setcustomcolor}
  636. {AldusTint setcustomcolor}ifelse
  637. } def 
  638. /ndf
  639. {
  640. 1 index where
  641. {pop pop pop}{dup xcheck
  642. {bind
  643. }if
  644. def
  645. }ifelse
  646. } bdef    
  647. /setoverprint
  648. {
  649. AldusDict2 begin /AD_Overprint exch def end
  650. }ndf
  651. /currentoverprint
  652. {
  653. AldusDict2 /AD_Overprint get
  654. }ndf
  655. /setcmykcoloroverprint
  656. {
  657. 4{dup -1 eq{pop 0}if 4 1 roll}repeat setcmykcolor
  658. }ndf    
  659. /findcmykcustomcolor
  660. {    
  661. 5 /packedarray where 
  662. {pop packedarray}{array astore readonly
  663. }ifelse
  664. }ndf    
  665. /setcustomcolor
  666. {
  667. exch aload pop pop 4
  668. {4 index mul 4 1 roll
  669. } repeat
  670. setcmykcolor pop
  671. }ndf    
  672. /setcmykcolor
  673. {
  674. 1 exch sub _Ccmyk _Ccmyk _Ccmyk pop setrgbcolor
  675. }ndf    
  676. /customcolorimage
  677. {
  678. pop image 
  679. }ndf
  680. /separationimage
  681. {
  682. image
  683. }ndf
  684. /setseparationgray
  685. {
  686. setgray
  687. }ndf
  688. /_Ccmyk
  689. {
  690. dup 5 -1 roll sub 0 _Max exch
  691. }bdef    
  692. /_Max
  693. {
  694. 2 copy lt
  695. {exch
  696. }if
  697. pop
  698. } bdef
  699. /_OLSmearOffset                                        
  700. {    
  701. AD_OLSmearFact AD_fontscaleX mul AD_OLSmearFact AD_fontscale mul
  702. }     bdef
  703. /_BoldSmearOffset                                        
  704. {    
  705. AD_BoldSmearFact AD_fontscaleX mul AD_BoldSmearFact AD_fontscale mul translate
  706. }     bdef
  707. /_StrikeThruWidth                                        
  708. {    
  709. AD_fontscale 16 div
  710. }     bdef
  711. /_iand                                        
  712. {    and 0 ne       
  713. }     bdef
  714. /FTRENAME {
  715. dup (|______) exch ftMakeName cvn /NewName local
  716. FontDirectory NewName known
  717. {pop}
  718. {cvn findfont dup
  719. maxlength dict false copyDict
  720. dup /FontName known
  721. {dup /FontName NewName put} if
  722. NewName exch definefont pop
  723. } ifelse
  724. } bdef
  725. /FTRECODE {
  726. dup (|______) exch ftMakeName cvn /NewName local
  727. FontDirectory NewName known
  728. {pop}
  729. {cvn findfont dup
  730. maxlength dict false copyDict
  731. dup /FontName known
  732. {dup /FontName NewName put} if
  733. dup /Encoding MacEncoding put
  734. NewName exch definefont pop
  735. } ifelse
  736. } bdef
  737. /AD_encode_vector_size    256 def
  738. /AD_encode_vector    null    def
  739. /AD_doing_recoding false def
  740. /BEG_RECODE
  741. {
  742. dup (|______) exch ftMakeName cvn /NewName local
  743. FontDirectory NewName known
  744. {
  745. pop
  746. /AD_doing_recoding false def
  747. /AD_encode_vector null def
  748. }
  749. {cvn findfont dup
  750. maxlength dict false copyDict
  751. dup /FontName known
  752. {dup /FontName NewName put} if
  753. /AD_encode_vector AD_encode_vector_size array def
  754. dup begin Encoding AD_encode_vector copy pop end
  755. dup /Encoding AD_encode_vector put
  756. NewName exch definefont pop
  757. /AD_doing_recoding true def
  758. AD_encode_vector    
  759. dup
  760. } ifelse
  761. } bdef
  762. /ENCODE_CHAR
  763. {
  764. AD_doing_recoding
  765. {
  766. put
  767. dup
  768. }
  769. {
  770. pop
  771. pop
  772. } ifelse
  773. } bdef
  774. /END_RECODE
  775. {
  776. AD_doing_recoding
  777. {
  778. pop
  779. pop
  780. } if
  781. /AD_doing_recoding false def
  782. /AD_encode_vector null def
  783. } bdef
  784. /FTOUTLINE {
  785. ReENCODED FTOLINE
  786. } bdef
  787. /FTOLINE {
  788. /AD_fontbits exch def
  789. cvn /OlineName local
  790. dup /AD_solidfont exch def
  791. AD_solidfont FontDirectory exch known not 
  792. { AD_solidfont ReENCODED AD_fontbits _iand _AutoRecode } if 
  793. FontDirectory OlineName known
  794. {pop}
  795. {cvn findfont dup
  796. maxlength 2 add dict true copyDict
  797. dup /FontName known
  798. {dup /FontName OlineName put} if
  799. dup /PaintType 2 put
  800. dup /StrokeWidth AD_OutlineWidth put
  801. OlineName exch definefont pop
  802. } ifelse
  803. } bdef
  804. /AD_nameString1 66 string def            
  805. /ftMakeName {
  806. 1 index length /PrefixLen local
  807. dup length PrefixLen add AD_nameString1 exch 0 exch getinterval
  808. dup PrefixLen 4 -1 roll putinterval
  809. dup 0 4 -1 roll putinterval
  810. } bdef
  811. /copyDict {
  812. /NoUnique local
  813. begin
  814. { 1 index /FID ne
  815. NoUnique
  816. {2 index /UniqueID ne and} if
  817. { def } { pop pop } ifelse
  818. } forall
  819. currentdict
  820. end
  821. } bdef
  822. /MacEncoding 256 array def
  823. MacEncoding 0
  824. /Times-Roman findfont /Encoding get
  825. 0 128 getinterval
  826. putinterval
  827. MacEncoding 16#27 /quotesingle put
  828. MacEncoding 16#60 /grave put
  829. /Adieresis /Aring /Ccedilla /Eacute /Ntilde /Odieresis /Udieresis /aacute
  830. /agrave /acircumflex /adieresis /atilde /aring /ccedilla /eacute /egrave
  831. /ecircumflex /edieresis /iacute /igrave /icircumflex /idieresis /ntilde /oacute
  832. /ograve /ocircumflex /odieresis /otilde /uacute /ugrave /ucircumflex /udieresis
  833. /dagger /degree /cent /sterling /section /bullet /paragraph /germandbls
  834. /registersans /copyrightsans /trademarksans /acute /dieresis /notequal /AE /Oslash
  835. /infinity /plusminus /lessequal /greaterequal /yen /mu /partialdiff /summation
  836. /product /pi /integral /ordfeminine /ordmasculine /Omega /ae /oslash
  837. /questiondown /exclamdown /logicalnot /radical /florin /approxequal /Delta /guillemotleft
  838. /guillemotright /ellipsis /space /Agrave /Atilde /Otilde /OE /oe
  839. /endash /emdash /quotedblleft /quotedblright /quoteleft /quoteright /divide /lozenge
  840. /ydieresis /Ydieresis /fraction /currency /guilsinglleft /guilsinglright /fi /fl
  841. /daggerdbl /periodcentered /quotesinglbase /quotedblbase /perthousand
  842. /Acircumflex /Ecircumflex /Aacute
  843. /Edieresis /Egrave /Iacute /Icircumflex /Idieresis /Igrave /Oacute /Ocircumflex
  844. /apple /Ograve /Uacute /Ucircumflex /Ugrave /dotlessi /circumflex /tilde
  845. /macron /breve /dotaccent /ring /cedilla /hungarumlaut /ogonek /caron
  846. MacEncoding 128 128 getinterval astore pop
  847. /getAnInt{2 getinterval dup 0 get 16#100 mul exch 1 get add cvi}def
  848. /CharBitStr 30 string def
  849. /BuildCharDict 16 dict def
  850. /AFONT
  851. {
  852. gsave
  853. /FName local
  854. /BMFSize local
  855. 1 add /LastChar local
  856. /FirstChar local
  857. /DefChar LastChar FirstChar sub 2 mul def
  858. 20 dict dup 
  859. begin 
  860. 10 1 roll
  861. /LocTableLen local
  862. /OWTableLen local
  863. /BMRowLen local
  864. /PixelHeight local
  865. /FontWidth local
  866. /MaxWidth local
  867. /MaxKern local
  868. /Descent local
  869. /Ascent local
  870. /Bits BMRowLen PixelHeight mul string currentfile exch readhexstring pop def
  871. /LocTable LocTableLen string currentfile exch readhexstring pop def
  872. /OWTable OWTableLen string currentfile exch readhexstring pop def
  873. /FontType 3 def
  874. /FontMatrix matrix def
  875. /FontBBox[MaxKern Descent neg MaxWidth MaxKern add Ascent]def
  876. /Encoding 256 array def
  877. Encoding 0 MacEncoding 0 256 getinterval putinterval
  878. /Mummble 257 array def
  879. 0 1 256{Mummble exch DefChar put}for
  880. FirstChar 1 LastChar{Mummble exch dup FirstChar sub 2 mul put}for
  881. /BuildChar
  882. {
  883. BuildCharDict 
  884. begin
  885. /1Char local
  886. /FDict local
  887. FDict /Mummble get 1Char get /2Char local
  888. FDict /OWTable get 2Char getAnInt 16#FFFF eq
  889. {/2Char DefChar assign}if
  890. FDict /LocTable get 2Char getAnInt
  891. /BitLoc local
  892. FDict /LocTable get 2Char 2 add getAnInt
  893. BitLoc sub
  894. /BitWidth local
  895. BitLoc 8 mod /ShiftVal local
  896. 16#FF 8 ShiftVal sub
  897. dup neg /RemShift local
  898. bitshift 16#FF and /BMask local
  899. 16#FF 8 BitLoc BitWidth add 8 mod
  900. sub dup 8 ge{pop 0}if
  901. BitWidth 0 eq{pop 8}if
  902. bitshift /AMask local
  903. BitWidth ShiftVal add 7 add 8 idiv
  904. dup 0 eq{pop 1}if
  905. /ByteWidth local
  906. BitLoc 8 idiv
  907. /WhichRow local
  908. FDict /OWTable get 2Char get cvi /Offset local
  909. FDict /OWTable get 2Char 1 add get cvi /Charwidth local
  910. Charwidth 0 BMFSize divPoint
  911. FDict /MaxKern get FDict /Descent get neg BMFSize divPoint
  912. BitWidth Offset add FDict /MaxKern get add FDict /Ascent get BMFSize divPoint
  913. setcachedevice
  914. gsave
  915. ByteWidth 8 mul
  916. FDict /PixelHeight get
  917. true
  918. [FDict /PixelHeight get FDict /Descent get sub 1 add
  919. 0
  920. 0
  921. FDict /PixelHeight get FDict /Descent get sub 1 add neg
  922. Offset neg 0.5 add
  923. FDict /PixelHeight get FDict /Descent get sub 0.5 add]
  924. FDict /Bits get WhichRow
  925. ByteWidth getinterval
  926. CharBitStr copy /ThisRow local
  927. 16#100
  928. ByteWidth 1 sub 1 neg 0
  929. {    /iV local
  930. ThisRow iV get
  931. 1 index 16#100 eq{AMask and}if
  932. dup BMask and RemShift bitshift
  933. 3 1 roll ShiftVal bitshift
  934. add 16#FF and
  935. cvi ThisRow iV 3 -1 roll put
  936. }for
  937. pop ThisRow
  938. /WhichRow WhichRow FDict /BMRowLen get add assign
  939. } imagemask
  940. grestore
  941. end 
  942. }def 
  943. end
  944. FontDirectory FName cvn known
  945. {pop}
  946. {FName cvn exch definefont pop} ifelse
  947. grestore
  948. }def 
  949. /AldusTint 1 def    
  950. /AD_Overprint false def    
  951. /AD_NonSepPat false def     
  952. /const /def load def
  953. /var /def load def
  954. /local[/exch load /def load]cvx def
  955. /assign /def load def
  956. /incr{dup cvx exec 1 add assign}bdef
  957. /postIncr{dup cvx exec exch incr}bdef
  958. /SpaceChar 16#20 const
  959. /cvPA{2 array astore cvx}bdef
  960. /point{cvPA def}bdef
  961. /locPoint{3 1 roll point}bdef
  962. /pointXpoint{3 -1 roll mul 3 1 roll mul exch}bdef
  963. /pointDpoint{3 -1 roll exch div 3 1 roll div exch}bdef
  964. /setPoint{load astore pop}bdef
  965. /dupPoint{2 copy}bdef
  966. /addPoint{exch 4 -1 roll add 3 1 roll add}bdef
  967. /subPoint{exch 3 1 roll sub 3 1 roll sub exch}bdef
  968. /mulPoint{dup pointXpoint}bdef
  969. /divPoint{dup pointDpoint}bdef
  970. /exchPoint{4 2 roll}bdef
  971. /overPoint{3 index 3 index}bdef
  972. /anyStatD systemdict /statusdict known const
  973. /thisProduct anyStatD
  974. {statusdict /product known{statusdict /product get}{()}ifelse}
  975. {()}ifelse const
  976. /PerCentChg 1.0 -1.0 point
  977. /boxPath{/y2 local /x2 local /y1 local /x1 local
  978. x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto
  979. closepath}bdef
  980. /dump{4{pop}repeat}bdef
  981. /rBoxPath{/r local /y2 local /x2 local
  982. /y1 local /x1 local
  983. x1 r add y1 moveto x2 y1 x2 y2 r arcto dump
  984. x2 y2 x1 y2 r arcto dump x1 y2 x1 y1 r arcto dump
  985. x1 y1 x2 y1 r arcto dump closepath}bdef
  986. /SaveMatrix matrix var
  987. /ButtCap   0 const
  988. /SquareCap 2 const
  989. /MiterJoin 0 const
  990. /BevelJoin 2 const
  991. /Black 0 const
  992. /White 1 const
  993. /Wide  0 const
  994. /Narrow 1 const
  995. /PictPostScript false var
  996. /isHairline false var
  997. /PBEGIN{
  998. dup not {save /PSave exch def} if
  999. /isLBO exch def
  1000. /PBotRight locPoint
  1001. /PTopLeft locPoint
  1002. isLBO not {newpath PTopLeft PBotRight boxPath clip} if newpath
  1003. isLBO {ButtCap}{SquareCap} ifelse setlinecap
  1004. MiterJoin setlinejoin
  1005. 3 setmiterlimit
  1006. AD_PointsToUCS setlinewidth
  1007. /deviceRound
  1008. {
  1009. dup
  1010. AD_DeviceScale mul round AD_DeviceScale div
  1011. dup 0 eq { pop } { exch pop } ifelse 
  1012. } def
  1013. /HairWidth 
  1014. AD_PointsToUCS 4 div 
  1015. AD_DeviceScale mul deviceRound dup 1.5 lt
  1016. { pop 0 } if
  1017. const
  1018. Black setgray
  1019. /LineScale 1 var
  1020. /LineWidth  AD_PointsToUCS var
  1021. /LineHeight AD_PointsToUCS var
  1022. /DoingWedge false var
  1023. /DoingArc   false var
  1024. AldusDict2 /PatternShade known not
  1025. {
  1026. /psb {} bdef                
  1027. /pse {} bdef
  1028. /PatternShade Black var
  1029. /DeclaredPattern <00> var
  1030. /PCurPat         <01> var 
  1031. } if
  1032. }bdef
  1033. /PEND{
  1034. newpath
  1035. isLBO not {PSave restore} if
  1036. /AD_SomethingOnPage    true def
  1037. }bdef
  1038. /SetPattern {
  1039. dup /PatternShade exch def setgray
  1040. } bdef
  1041. /bitison{
  1042. /ybit local /xbit local
  1043. PCurPat ybit PatWidth mul
  1044. xbit 8 idiv add get
  1045. 1 7 xbit 8 mod AD_NestedMirror {exch pop}{sub} ifelse bitshift
  1046. and 0 ne}bdef
  1047. /PSHADE{
  1048. STD_SCREEN
  1049. 100 div dup /PatternShade exch def 
  1050. /AD_NonSepPat true def    
  1051. setgray <01> /PCurPat local 
  1052. } def
  1053. /BK { /AD_NonSepPat true def Black setgray } bdef            
  1054. /WT { /AD_NonSepPat true def White setgray } bdef            
  1055. /PBLACK /BK load def                    
  1056. /PWHITE /WT load def                    
  1057. /PREGISCOLOR
  1058. {    
  1059. pop AD_NonSepPat
  1060. { pop currentgray}{AldusTint mul 1 exch sub}ifelse 
  1061. setseparationgray pop pop pop
  1062. } bdef
  1063. /PUSETHISPATTERN {
  1064. dup PCurPat eq {pop}{ PPATTERN } ifelse
  1065. PatternShade
  1066. /AD_NonSepPat true def     
  1067. setgray /VerifyUsedPattern false def
  1068. } bdef
  1069. /PUSEPATTERN {
  1070. VerifyUsedPattern
  1071. {DeclaredPattern PCurPat ne {DeclaredPattern PPATTERN} if
  1072. } if
  1073. PatternShade setgray
  1074. /VerifyUsedPattern false def
  1075. } bdef
  1076. /PDECLAREPATTERN {
  1077. /DeclaredPattern exch def
  1078. /VerifyUsedPattern true def
  1079. /AD_NonSepPat true def     
  1080. } bdef
  1081. /PatWidth 1 const
  1082. /PatSide 8 const
  1083. /PFreq 300 32 div const
  1084. /PPATTERN{/PCurPat local
  1085. /AD_NonSepPat true def    
  1086. /VerifyUsedPattern false def
  1087. 0 /Onbits local 0 /Offbits local
  1088. AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse 
  1089. PFreq PerCentChg pop dup 0.96 eq
  1090. {pop}{div}ifelse 
  1091. {
  1092. 1 1 addPoint 2 divPoint PatSide mulPoint
  1093. cvi exch cvi exch bitison AD_Invert xor
  1094. {/Onbits incr 1}
  1095. {/Offbits incr 0}ifelse
  1096. }
  1097. setscreen
  1098. Offbits dup Onbits add div AD_Invert {1 exch sub} if SetPattern
  1099. /AD_StdScreen false assign}def
  1100. /vertLines{pop dup mul -2 mul 1 add}bdef
  1101. /sPat
  1102. {            
  1103. AD_Invert {{1 exch sub} settransfer} {{} settransfer} ifelse 
  1104. setscreen setgray
  1105. }def
  1106. /PALDUSSHADE
  1107. {
  1108. <11> /PCurPat local
  1109. /AD_NonSepPat true def     
  1110. /AD_StdScreen false assign
  1111. Wide eq
  1112. { 0.774 20 45 {vertLines} sPat }
  1113. { 0.643 30 45 {vertLines} sPat }
  1114. ifelse
  1115. } bdef
  1116. /PHAIRWIDTH
  1117. {
  1118. HairWidth setlinewidth /isHairline true def
  1119. } bdef
  1120. /LW {                
  1121. LineScale mul deviceRound /LineHeight exch def
  1122. LineScale mul deviceRound dup /LineWidth exch def
  1123. setlinewidth
  1124. /isHairline false def
  1125. }bdef
  1126. /PLNWIDTH /LW load def        
  1127. /PLNSCALE{div /LineScale exch def} bdef
  1128. /roundCoord
  1129. {
  1130. 0.5 add round 0.5 sub
  1131. } bdef
  1132. /roundPoint
  1133. {
  1134. transform
  1135. round exch round exch
  1136. itransform
  1137. } bdef
  1138. /adjCoord {
  1139. dup
  1140. 1 AD_DeviceScale div gt { deviceRound 2 div } { pop .5 AD_DeviceScale div } ifelse
  1141. } bdef
  1142. /pULAdj{ roundPoint currentlinewidth adjCoord LineHeight adjCoord addPoint }bdef
  1143. /pLRAdj{ roundPoint currentlinewidth adjCoord LineHeight adjCoord subPoint }bdef
  1144. /QD_LINE
  1145. {
  1146. /qd_save save def
  1147. /y2 exch def
  1148. /x2 exch def
  1149. /y1 exch def
  1150. /x1 exch def
  1151. x1 x2 gt
  1152. {
  1153. x1 y1 x2 y2
  1154. /y1 exch def
  1155. /x1 exch def
  1156. /y2 exch def
  1157. /x2 exch def
  1158. } if
  1159. newpath
  1160. y1 y2 gt
  1161. {
  1162. x1 y1 moveto
  1163. x2 y2 lineto
  1164. x2 LineWidth add
  1165. dup
  1166. y2 lineto
  1167. y2 LineHeight add lineto
  1168. x1 LineWidth add
  1169. y1 LineHeight add lineto
  1170. x1 y1 LineHeight add lineto
  1171. x1 y1 lineto
  1172. }
  1173. {
  1174. x1 y1 moveto
  1175. x1 LineWidth add y1 lineto
  1176. x2 LineWidth add
  1177. dup y2 lineto
  1178. y2 LineHeight add lineto
  1179. x2 y2 LineHeight add lineto
  1180. x1 y1 LineHeight add lineto
  1181. x1 y1 lineto
  1182. } ifelse
  1183. closepath eofill
  1184. qd_save restore    
  1185. } bdef
  1186. /PLINETO
  1187. {
  1188. PictPostScript 
  1189. {
  1190. moveto lineto
  1191. }
  1192. /y2 exch def /x2 exch def /y1 exch def /x1 exch def
  1193. currentlinecap ButtCap setlinecap
  1194. newpath
  1195. x1 x2 eq y1 y2 eq and
  1196. {
  1197. LineWidth 1 le LineHeight 1 le and
  1198. { x1 y1 moveto } 
  1199. { x1 y1 
  1200. x1 LineWidth add y1 LineHeight add
  1201. boxPath fill}
  1202. ifelse
  1203. }
  1204. { y1 y2 eq             
  1205. LineWidth x1 x2 lt 
  1206. { x2 add /x2 exch def }
  1207. { x1 add /x1 exch def }
  1208. ifelse
  1209. LineHeight setlinewidth 
  1210. x1 y1 LineHeight 2 div add roundPoint moveto
  1211. x2 y2 LineHeight 2 div add roundPoint lineto
  1212. mayStroke 
  1213. }
  1214. { x1 x2 eq             
  1215. LineHeight y1 y2 lt 
  1216. { y2 add /y2 exch def }
  1217. { y1 add /y1 exch def }
  1218. ifelse
  1219. x1 LineWidth 2 div add y1 roundPoint moveto
  1220. x2 LineWidth 2 div add y2 roundPoint lineto
  1221. mayStroke
  1222. }
  1223. {                
  1224. x1 y1 pULAdj moveto x2 y2 pULAdj lineto mayStroke
  1225. }
  1226. ifelse 
  1227. }    
  1228. ifelse
  1229. }
  1230. ifelse
  1231. setlinecap            
  1232. }
  1233. ifelse
  1234. }bdef
  1235. /HairRect
  1236. {
  1237. save /here exch def
  1238. /y2 exch def /x2 exch def 
  1239. /y1 exch def /x1 exch def
  1240. PHAIRWIDTH newpath
  1241. x1 x2 sub abs y1 y2 sub abs lt
  1242. { x1 x2 add 2 div dup y1 roundPoint moveto y2 roundPoint lineto stroke}
  1243. { y1 y2 add 2 div dup x1 exch roundPoint moveto x2 exch roundPoint lineto stroke}
  1244. ifelse
  1245. here restore
  1246. } bdef 
  1247. /PHAIRLINE
  1248. {
  1249. count 4 gt
  1250. newpath PHAIRWIDTH
  1251. addPoint 2 divPoint roundPoint moveto 
  1252. addPoint 2 divPoint roundPoint lineto pop pop
  1253. stroke
  1254. }
  1255. { HairRect }
  1256. ifelse
  1257. } bdef
  1258. /PHANGLINE
  1259. {
  1260. roundPoint /yb exch def /xr exch def 
  1261. roundPoint /yt exch def /xl exch def 
  1262. deviceRound /delta exch def 
  1263. { {yt delta sub /yt exch def} {yb delta add /yb exch def} ifelse } 
  1264. { {xl delta sub /xl exch def} {xr delta add /xr exch def} ifelse } 
  1265. ifelse
  1266. newpath 
  1267. 1 AD_DeviceScale div 2 div dup dupPoint 
  1268. xl yt addPoint exchPoint
  1269. xr yb exchPoint subPoint boxPath fill
  1270. } bdef
  1271. /PCURVETO
  1272. {
  1273. curveto
  1274. } bdef
  1275. /PMOVETO
  1276. {
  1277. moveto
  1278. } bdef
  1279. /PRECT{newpath pLRAdj exchPoint pULAdj exchPoint boxPath}bdef
  1280. /PRRECT { pLRAdj /Botts locPoint pULAdj /Tops locPoint 
  1281. currentlinewidth dup subPoint /Diams locPoint 
  1282. newpath SaveMatrix currentmatrix pop
  1283. Botts Tops subPoint /Sides locPoint
  1284. Sides pop abs Diams pop ge{Diams}{Sides}ifelse pop
  1285. Sides exch pop abs Diams exch pop ge{Diams}{Sides}ifelse exch pop 
  1286. /Diams locPoint
  1287. Diams 2 div /YRad local
  1288. 0 gt
  1289. {Diams exch pop    
  1290. 0 eq                
  1291. {1}
  1292. {Diams div}
  1293. ifelse
  1294. }
  1295. {1}ifelse 1 /PRRscale locPoint
  1296. Tops translate PRRscale scale 0 0 Sides PRRscale pointDpoint
  1297. Diams 0 gt exch 0 gt and{YRad rBoxPath}{boxPath}ifelse
  1298. SaveMatrix setmatrix}bdef
  1299. /POVAL{newpath SaveMatrix currentmatrix pop
  1300. 0 359 false pArc closepath
  1301. SaveMatrix setmatrix}bdef
  1302. /PARC{ newpath SaveMatrix currentmatrix pop
  1303. /DoingArc true assign
  1304. false pArc    
  1305. SaveMatrix setmatrix }bdef
  1306. /PWEDGE{newpath SaveMatrix currentmatrix pop
  1307. /DoingWedge true assign
  1308. true pArc closepath
  1309. SaveMatrix setmatrix }bdef
  1310. /modAdj{
  1311. dup 360 gt{360 sub}if
  1312. dup 0 lt{360 add}if}bdef
  1313. /pArc{/Fill local
  1314. /ArcAng local /BegAng local
  1315. pLRAdj /PLR locPoint
  1316. pULAdj /PUL locPoint
  1317. 360 BegAng ArcAng add sub 90 add modAdj /StartAng local
  1318. StartAng ArcAng add /EndAng local
  1319. PLR PUL subPoint 2 divPoint /Rad locPoint
  1320. PUL Rad addPoint translate
  1321. Rad neg scale
  1322. Fill{0 0 moveto}if
  1323. 0 0 1 StartAng EndAng
  1324. dupPoint eq
  1325. {pop pop 0 359 arc closepath}
  1326. {ArcAng 0 lt
  1327. {arcn}{arc}ifelse
  1328. }
  1329. ifelse
  1330. }bdef
  1331. /PBEGPOLY{
  1332. newpath pULAdj moveto
  1333. }bdef
  1334. /PBEGSMOOTHPOLY {
  1335. newpath
  1336. } bdef
  1337. /PPOLYPOINT {
  1338. pULAdj lineto
  1339. } bdef 
  1340. /PENDPOLY{
  1341. /Closed local
  1342. Closed{closepath}if
  1343. }bdef
  1344. /PENDSMOOTHPOLY {
  1345. PENDPOLY
  1346. } bdef
  1347. /PBEGRGN{mark}bdef
  1348. /PREGION{PRECT cleartomark}bdef
  1349. /PTXBEG {/PTSave1 save const} bdef
  1350. /PROTATE {
  1351. currentdict /PRotateSave known not
  1352. {save /PRotateSave exch def} if
  1353. 3 1 roll dupPoint neg exch neg exch 5 2 roll 
  1354. translate rotate translate
  1355. } bdef
  1356. /PHFLIP {
  1357. currentdict /PRotateSave known not
  1358. {save /PRotateSave exch def} if
  1359. dupPoint neg exch neg exch 4 2 roll 
  1360. translate -1  1 scale translate
  1361. } bdef
  1362. /PVFLIP {
  1363. currentdict /PRotateSave known not
  1364. {save /PRotateSave exch def} if
  1365. dupPoint neg exch neg exch 4 2 roll 
  1366. translate  1 -1 scale translate 
  1367. } bdef
  1368. /PROTATE_END
  1369. {
  1370. PRotateSave restore
  1371. } bdef
  1372. /PSCALETEXT {
  1373. AD_PointsToUCS mul div /Xscale exch def 
  1374. AD_PointsToUCS mul div /Yscale exch def
  1375. currentfont [ Xscale 0 0 Yscale 0 0 ] makefont setfont
  1376. /AD_fontscaleX AD_fontscaleX Xscale mul def
  1377. /AD_fontscale AD_fontscale Yscale mul def
  1378. } bdef
  1379. /PSTBEG {
  1380. userdict /md known not 
  1381. { userdict begin /md 0 def end } if
  1382. PBLACK /PictPostScript true def
  1383. } bdef
  1384. /PSTEND {
  1385. /PictPostScript false def
  1386. } bdef
  1387. /mayStroke{                
  1388. currentlinewidth 0 gt isHairline or
  1389. {
  1390. gsave
  1391. /s_matrix null def
  1392. /stroke_xform false def
  1393. DoingWedge  {MiterJoin setlinejoin} if 
  1394. currentlinewidth  1 AD_DeviceScale div sub setlinewidth
  1395. LineWidth LineHeight ne
  1396. {
  1397. /s_matrix matrix currentmatrix def
  1398. 1 LineHeight LineWidth div scale
  1399. /stroke_xform true def
  1400. } if
  1401. stroke        
  1402. stroke_xform {s_matrix setmatrix} if
  1403. grestore
  1404. } if
  1405. /DoingWedge false assign
  1406. } bdef
  1407. /RESET_PAT_SEP
  1408. {
  1409. /AD_NonSepPat false def
  1410. } bdef
  1411. /PFRAME{mayStroke RESET_PAT_SEP}bdef
  1412. /PPAINT
  1413. {
  1414. mayStroke gsave eofill grestore RESET_PAT_SEP
  1415. }bdef 
  1416. /PERASE
  1417. {
  1418. mayStroke gsave eofill grestore RESET_PAT_SEP
  1419. }bdef 
  1420. /PFILL 
  1421. {
  1422. mayStroke gsave eofill grestore RESET_PAT_SEP
  1423. }bdef 
  1424. /PTINT
  1425. {
  1426. 100 exch sub 100 div /AldusTint exch def
  1427. } bdef
  1428. /PRESETTINT
  1429. {
  1430. AldusTint 1 eq not 
  1431. {/AldusTint 1 def
  1432. }if
  1433. } bdef    
  1434. /PHORZSHADE    
  1435. {
  1436. 0 eq    
  1437. {/widehorz}{/narrowhorz
  1438. }ifelse findfont
  1439. _OpaquePatternfill
  1440. } bdef
  1441. /PVERTSHADE    
  1442. {
  1443. 0 eq    
  1444. {/widevert}{/narrowvert
  1445. }ifelse findfont
  1446. _OpaquePatternfill
  1447. } bdef
  1448. /PHATCHSHADE    
  1449. {
  1450. 0 eq    
  1451. {/widehatch}{/narrowhatch
  1452. }ifelse    findfont
  1453. _OpaquePatternfill
  1454. } bdef
  1455. /PDIAGSHADE    
  1456. {
  1457. 0 eq    
  1458. {/widediag}{/narrowdiag
  1459. }ifelse findfont
  1460. _OpaquePatternfill
  1461. } bdef
  1462. /_SetCoords
  1463. {
  1464. /y2 local /x2 local /y1 local /x1 local
  1465. } bdef
  1466. /_DefinePattern { 
  1467. 7 dict begin
  1468. /FontDict 9 dict def
  1469. FontDict begin
  1470. /cache exch def
  1471. /key exch def
  1472. /proc exch cvx def
  1473. /mtx exch matrix invertmatrix def
  1474. /height exch def
  1475. /width exch def
  1476. /ctm matrix currentmatrix def
  1477. /ptm matrix identmatrix def
  1478. /str
  1479. (12345678901234567890123456789012)
  1480. def
  1481. end
  1482. /FontBBox [ 
  1483. 0 0 FontDict /width get
  1484. FontDict /height get
  1485. ] def
  1486. /FontMatrix FontDict /mtx get def
  1487. /Encoding StandardEncoding def
  1488. /FontType 3 def
  1489. /BuildChar { 
  1490. pop begin
  1491. FontDict begin
  1492. width 0 cache { 
  1493. 0 0 width height setcachedevice
  1494. }{ 
  1495. setcharwidth
  1496. } ifelse
  1497. 0 0 moveto width 0 lineto
  1498. width height lineto 0 height lineto
  1499. closepath clip newpath
  1500. gsave proc grestore
  1501. end end
  1502. } def
  1503. FontDict /key get currentdict definefont
  1504. end
  1505. } bind def
  1506. /_Patternpath { 
  1507. dup type /dicttype eq { 
  1508. begin FontDict /ctm get setmatrix
  1509. }{ 
  1510. exch begin FontDict /ctm get setmatrix
  1511. concat
  1512. } ifelse
  1513. currentdict setfont
  1514. FontDict begin
  1515. FontMatrix concat
  1516. width 0 dtransform
  1517. round width div exch round width div exch
  1518. 0 height dtransform
  1519. round height div exch
  1520. round height div exch
  1521. 0 0 transform round exch round exch
  1522. ptm astore setmatrix
  1523. pathbbox
  1524. height div ceiling height mul 4 1 roll
  1525. width div ceiling width mul 4 1 roll
  1526. height div floor height mul 4 1 roll
  1527. width div floor width mul 4 1 roll
  1528. 2 index sub height div ceiling cvi exch
  1529. 3 index sub width div ceiling cvi exch
  1530. 4 2 roll moveto
  1531. FontMatrix ptm invertmatrix pop
  1532. gsave
  1533. ptm concat
  1534. dup str length idiv { 
  1535. str show
  1536. } repeat
  1537. dup str length mod str exch
  1538. 0 exch getinterval show
  1539. grestore
  1540. 0 height rmoveto
  1541. } repeat
  1542. pop
  1543. end end
  1544. } bind def
  1545. /_Patternfill { 
  1546. gsave
  1547. clip _Patternpath
  1548. grestore
  1549. newpath
  1550. } bind def
  1551. /_OpaquePatternfill { 
  1552. gsave
  1553. 0 0 0 0 setcmykcolor
  1554. fill
  1555. grestore
  1556. _Patternfill
  1557. } bind def
  1558. /_DefinePatterns
  1559. {
  1560. /AD_PatternLW .009375 AD_Resolution mul def
  1561. /narrowdiagunit .046666 AD_Resolution mul def
  1562. narrowdiagunit narrowdiagunit [1 0 0 1 0 0]
  1563. {                
  1564. SquareCap setlinecap
  1565. 0 narrowdiagunit 2 div moveto narrowdiagunit 2 div 0 lineto
  1566. narrowdiagunit 2 div narrowdiagunit moveto 
  1567. narrowdiagunit narrowdiagunit 2 div lineto 
  1568. AD_PatternLW setlinewidth stroke
  1569. } bind
  1570. /narrowdiag true _DefinePattern pop
  1571. /widediagunit .073333 AD_Resolution mul def
  1572. widediagunit widediagunit [1 0 0 1 0 0]
  1573. {                SquareCap setlinecap
  1574. 0 widediagunit 2 div moveto widediagunit 2 div 0 lineto
  1575. widediagunit 2 div widediagunit moveto 
  1576. widediagunit widediagunit 2 div lineto 
  1577. AD_PatternLW setlinewidth stroke
  1578. } bind
  1579. /widediag true _DefinePattern pop
  1580. /narrowhorzunit .053333 AD_Resolution mul def
  1581. narrowhorzunit narrowhorzunit [1 0 0 1 0 0]
  1582. {                
  1583. SquareCap setlinecap
  1584. 0 narrowhorzunit 2 div moveto
  1585. narrowhorzunit narrowhorzunit 2 div lineto
  1586. AD_PatternLW setlinewidth stroke
  1587. } bind
  1588. /narrowhorz true _DefinePattern pop
  1589. /widehorzunit .106666 AD_Resolution mul def
  1590. widehorzunit widehorzunit [1 0 0 1 0 0]
  1591. {
  1592. SquareCap setlinecap
  1593. 0 widehorzunit 2 div moveto
  1594. widehorzunit widehorzunit 2 div lineto
  1595. AD_PatternLW setlinewidth stroke
  1596. } bind
  1597. /widehorz true _DefinePattern pop
  1598. /narrowvertunit .053333 AD_Resolution mul def
  1599. narrowvertunit narrowvertunit [1 0 0 1 0 0]
  1600. {
  1601. SquareCap setlinecap
  1602. narrowvertunit 2 div 0 moveto 
  1603. narrowvertunit 2 div narrowvertunit lineto
  1604. AD_PatternLW setlinewidth stroke
  1605. } bind
  1606. /narrowvert true _DefinePattern pop
  1607. /widevertunit .106666 AD_Resolution mul def
  1608. widevertunit widevertunit [1 0 0 1 0 0]
  1609. {
  1610. SquareCap setlinecap
  1611. widevertunit 2 div 0 moveto 
  1612. widevertunit 2 div widevertunit lineto
  1613. AD_PatternLW setlinewidth stroke
  1614. } bind
  1615. /widevert true _DefinePattern pop
  1616. /narrowhatchunit .053333 AD_Resolution mul def
  1617. narrowhatchunit narrowhatchunit [1 0 0 1 0 0]
  1618. {
  1619. SquareCap setlinecap
  1620. narrowhatchunit 2 div 0 moveto 
  1621. narrowhatchunit 2 div narrowhatchunit lineto
  1622. 0 narrowhatchunit 2 div moveto
  1623. narrowhatchunit narrowhatchunit 2 div lineto
  1624. AD_PatternLW setlinewidth stroke
  1625. } bind
  1626. /narrowhatch true _DefinePattern pop
  1627. /widehatchunit .106666 AD_Resolution mul def
  1628. widehatchunit widehatchunit [1 0 0 1 0 0]
  1629. {
  1630. SquareCap setlinecap
  1631. widehatchunit 2 div 0 moveto 
  1632. widehatchunit 2 div widehatchunit lineto
  1633. 0 widehatchunit 2 div moveto
  1634. widehatchunit widehatchunit 2 div lineto
  1635. AD_PatternLW setlinewidth stroke
  1636. } bind
  1637. /widehatch true _DefinePattern pop
  1638. }
  1639. version (23.) anchorsearch
  1640. {pop pop def}{pop bdef} ifelse 
  1641. systemdict /currentpacking known
  1642. {AD_OldPacking setpacking} if
  1643. /AldusDone AldusVersion def            
  1644. end        
  1645.